Finding Root Causes of Floating Point Error with Herbgrind
نویسندگان
چکیده
Floating point arithmetic plays a central role in science, engineering, and nance by enabling developers to approximately compute with real numbers. To address numerical issues in large oating-point applications, developers must identify root causes, which is dicult because oating point errors are generally silent, non-local, and non-compositional. is paper presents Herbgrind, a tool to help developers identify and address root causes in typical numerical code wrien in low-level C/C++ and Fortran. Herbgrind tracks dependencies between operations and program outputs to avoid false positives, and abstracts erroneous computations to a simplied program fragment whose improvement can reduce output error. We perform several case studies applying Herbgrind to large, expert-craed numerical programs and show that it scales to applications spanning hundreds of thousands of lines, correctly handling the low-level details of modern oating point hardware and mathematical libraries, and tracking error across function boundaries and through the heap.
منابع مشابه
A comparison of polynomial evaluation schemes
The goal of this paper is to analyze two polynomial evaluation schemes for multiple precision floating point arithmetic. Polynomials are used extensively in numerical computations (Taylor series for mathematical functions, root finding) but a rigorous bound of the error on the final result is seldom provided. We provide such an estimate for the two schemes and find how to reduce the number of o...
متن کاملProving the IEEE Correctness of Iterative Floating-Point Square Root, Divide, and Remainder Algorithms
The work presented in this paper was initiated as part of a study on software alternatives to the hardware implementations of floating-point operations such as divide and square root. The results of the study proved the viability of software implementations, and showed that certain proposed algorithms are comparable in performance to current hardware implementations. This paper discusses two co...
متن کاملFast Floating Point Square Root
Hain and Freire have proposed different floating point square root algorithms that can be efficiently implemented in hardware. The algorithms are compared and evaluated on both performance and precision.
متن کاملReduced Precision Checking to Detect Errors in Floating Point Arithmetic
We use reduced precision checking (RPC) to detect errors in floating point arithmetic. Prior work explored RPC for addition and multiplication. In this work, we extend RPC to a complete floating point unit (FPU), including division and square root, and we present precise analyses of the errors undetectable with RPC that show bounds that are smaller than prior work. We implement RPC for a comple...
متن کاملFinding Compact L. R. Nackman
Practical solid modeling systems are plagued by numerical problems that arise from using floating-point arithmetic. For example, polyhedral solids are often represented by a combination of geometric and combinatorial information. The geometric information may consist of explicit plane equations, with floatingpoint coefficients; the combinatorial information may consist of face, edge, and vertex...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1705.10416 شماره
صفحات -
تاریخ انتشار 2017